package com.ny.dto;

import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import io.swagger.annotations.ApiModelProperty;

/**
 * 营销活动信息
 *
 * @author MSI-NB
 * @date 2025-03-08 13:14:38
 */
@Data
public class MarketingActivityDTO {

    /**
     * 活动ID:活动ID，必填
     */
    @NotNull(groups = { UpdateGroup.class, DeleteGroup.class }, message = "活动ID不能为空")
    @ApiModelProperty(value = "活动ID:活动ID，必填")
    private Integer activityId;

    /**
     * 活动名称:活动名称，必填
     */
    @NotBlank(groups = { CreateGroup.class, Default.class }, message = "活动名称不能为空")
    @Size(max = 100, groups = { CreateGroup.class, Default.class }, message = "活动名称:活动名称，必填长度不能超过100")
    @ApiModelProperty(value = "活动名称:活动名称，必填")
    private String activityName;

    /**
     * 活动描述:活动描述
     */
    @ApiModelProperty(value = "活动描述:活动描述")
    private String activityDescription;

    /**
     * 开始日期:开始日期，必填
     */
    @NotNull(groups = { CreateGroup.class, Default.class }, message = "开始日期不能为空")
    @ApiModelProperty(value = "开始日期:开始日期，必填")
    private java.util.Date startDate;

    /**
     * 结束日期:结束日期，必填
     */
    @NotNull(groups = { CreateGroup.class, Default.class }, message = "结束日期不能为空")
    @ApiModelProperty(value = "结束日期:结束日期，必填")
    private java.util.Date endDate;
}
